#include <iostream>
#include <arm_neon.h>
unsigned short int A[] = {1,2,3,4}; // array with 4 elements
unsigned short int B[] = {2,3,4,5}; // array with 4 elements
int main(void)
{
    uint16x4_t v1; // declare a vector of four 16-bit lanes
    uint16x4_t v2; // declare a vector of four 16-bit lanes
    v1 = vld1_u16(A); // load the array from memory into a vector
    v2 = vld1_u16(B); // load the array from memory into a vector
    v1 = vadd_u16(v1,v2); // double each element in the vector
    vst1_u16(A, v1); // store the vector back to memory
    for(auto &e : A){
        std::cout << e << " ";
    }
    std::cout << std::endl;
    return 0;
} 
